const config = require("../config")
const rsa = require("../utils/rsa")
const jwt = require('jsonwebtoken');
/**
 * 拦截器，验证 token，data
 * @type {{Validator(*, *, *): void}}
 */
module.exports = {
    Validator(req, res, next) {
        // if(req.headers.hasOwnProperty("data")) {
            // try {
                // req.headers.data = rsa.PrivateKeyDecryption(req.headers.data)
                if(req.url == config.filter.login || req.url == config.filter.add) {
                    next()
                } else {
                    if(req.headers.hasOwnProperty("token")) {
                        jwt.verify(req.headers.token,config.jwt,function(err,decode){
                            if(err){
                                res.json({
                                    status: 500,
                                    message: '身份凭证失效或不存在，请登录'
                                })
                            }else{
                                next();
                            }
                        });
                    } else { // 无token
                        res.json({
                            status: 500,
                            message: '缺少token参数，请检查'
                        })
                    }
                }
            // } catch (e) {
            //     res.json({
            //         status: 500,
            //         message: '抱歉，公钥加密有误，请检查公钥'
            //     })
            // }
        // } else {
        //     res.json({
        //         status: 500,
        //         message: '请求头缺少data参数'
        //     })
        // }
    }
}
